www.gusucode.com > matlab从零到进阶程序与数据 > matlab从零到进阶程序与数据/第4章 MATLAB程序设计/Nestedfun4ode.m

    function Nestedfun4ode(a)
tspan = [0,5];     %变量求解区间
y0 = [1,0];       %初值
[t,y] = ode45(@tfys,tspan,y0);         %调用ode45求解方程
figure;
plot(t,y(:,1),'k-');             %画函数y(t)的曲线
hold on;
plot(t,y(:,2),'k:');            %画函数y(t)导数的曲线
set(gca,'fontsize',12);          %设置当前坐标轴字体大小
xlabel('\itt','fontsize',16);        %标注x轴
%用嵌套函数定义微分方程组
    function dy = tfys(t,y)
        dy(1,1) = y(2);          %对应于例子中方程组第一个方程
        dy(2,1) = 3*sin(a*t)-4*y(1);              %对应于例子中方程组第二个方程
    end
end